package com.tsd.system.dao;

import com.tsd.core.vo.PageBean;
import com.tsd.system.entity.SysRegUser;
import com.tsd.system.entity.SysRegUserExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述：SysRegUserMapper
 *
 * @author Hillpool
 * @date 2022/02/14 15:35:34
 */
public interface SysRegUserMapper {

    SysRegUser selectByPrimaryKey(Long id);

    SysRegUserExt selectBySid(String sid);

    int deleteByPrimaryKey(Long id);

    int insert(SysRegUser record);

    int insertSelective(SysRegUser record);

    int updateByPrimaryKey(SysRegUser record);

    int updateByPrimaryKeySelective(SysRegUser record);

    List<SysRegUserExt> selectByEntity(SysRegUserExt record);

    List<SysRegUserExt> selectByPage(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<SysRegUserExt> selectCount1Page(@Param("params") Map<String, Object> params, @Param("page") PageBean page);

    List<SysRegUserExt> selectByParams(@Param("params") Map<String, Object> params);

    SysRegUserExt selectValidByOpenId(@Param("open_id") String open_id);

    SysRegUserExt selectValidByUnionId(@Param("union_id") String union_id);

    SysRegUserExt selectByLoginId(@Param("login_id") String login_id);

    int insertList(@Param("list") List<SysRegUserExt> list);

    int updateList(@Param("list") List<SysRegUserExt> list);

    SysRegUserExt selectTopOneByMobile(String mobile);

    int countValid();
}
